# 作业：
# 1、删除列表里所有字符串对象
import random

list1 = [11,22,"帅帅","王很帅","王不帅","王拉倒"]
# for i in list1:
#     if type(i) == str:
#         list1.remove(i)
# print(list1)
# result = []
# for i in list1:
#     if type(i) == str:
#         continue
#     else:
#         result.append(i)
# print(result)


# 2、删除列表中重复的元素
# list2 = [11,22,"帅帅","王很帅","王不帅","王拉倒",22,33,44,22]
# result1 = []
# for i in list2:
#     if i not in result1:
#         result1.append(i)
# print(result1)


# 3、l1 = [1, 2, 3, 4, 5]
l1 = [1, 2, 3, 4, 5]
# （1）在l1的元素3后面插入300
# l1.insert(3,300)
# print(l1)

# （2）删除元素2
# l1.remove(2)

# （3）将5更改为500
# l1[-1] = 500

# （4）将2，3，4切片出来
# print(l1[1:4])

# （5）l1[-3:-5]的结果
# print(l1[-3:-5]) # []

# （6）l1[-3:]的结果
# print(l1[-3:])
# 4. 通过input引导用户输入一个姓名，判断该姓名是否存在于列表names中
"""
name = input("请输入姓名")
names = ['王长帅',"防御","郑佳琪","张墉","小琪"]
if name in names:
    print(f"{name}在里")
else:
    print("不在")
"""
# 5、l = [1,2,3,[4,5]]
"""
l = [1,2,3,[4,5]]
"""
# （1）将4修改为400
"""
l[-1][0] = 400
"""
# （2）在l的[4，5]列表中追加一个6，即使l变为[1,2,3,[4,5,6]]
"""
l[-1].append(6)
"""
# 6、计算数值型列表的平均值是多少？
"""
l2 = [12,34,56,88,99,77]
print(sum(l2)/len(l2))
"""
# 7、从数值型列表中，将索引位置为偶数的，挑选出来，放到一个新列表里
"""
result2 = []
for i in range(len(l2)):
    if i%2 == 0:
        result2.append(l2[i])
"""
# 8、求出列表里最大的数是多少（不允许用sort等其他内置函数去做）,以及这个数所在的索引位置
"""
l3 = [12,34,56,88,99,77]
max_num = l3[0]  # 假设这个数是最大的数
max_index = 0 # 设置最大数的索引
for i in range(len(l3)):
    if max_num < l3[i]:
        max_num = l3[i]
        max_index = i
print(f"最大数是{max_num}，最大数的索引是在{max_index}位置")
"""

# 9、学生管理系统：打印功能菜单、添加学生信息、删除学生信息、
# 修改学生信息、显示学生信息、退出系统，并且需要接收用户的输入，在根据输入内容调用相应函数实现相应功能，模板图如下
"""
student_list = [] # 收集学生的列表
while True: # 死循环
    print("=============================")
    print("学生管理系统")
    print("1.添加学生信息")
    print("2.删除学生信息")
    print("3.修改学生信息")
    print("4.显示所有学生信息")
    print("0.退出系统")
    fs = input("请输入您要选择的功能")
    if fs == "1":
        student_name = input("请输入您要添加的学生姓名")
        if student_name not in student_list:
            student_list.append(student_name)
            print(f"您添加的{student_name}学生信息已经录入学生管理系统！")
        else:
            print("您要添加的学生已存在！")
            print("本次添加失败！")
    elif fs =="2":
        student_name = input("请输入您要删除的学生姓名")
        if student_name in student_list:
            student_list.remove(student_name)
            print(f"删除{student_name}学生信息成功！")
        else:
            print("您要删除的学生不存在！")
            print("本次删除失败！")
    elif fs == "3":
        student_old_name = input("请输入您要修改的学生姓名")
        student_new_name = input("请输入新的学生姓名")
        if student_old_name in student_list:
            student_list.remove(student_old_name)
            student_list.append(student_new_name)
            print(f"修改{student_old_name}学生成功！现在的名字为：{student_new_name}")
        else:
            print("您要修改的学生不存在！")
            print("本次修改失败！")
    elif fs == "4":
        print(f"全部的学生信息为：{student_list}")
    elif fs == "0":
        print("退出学生管理系统！")
        print("欢迎您下次再来！")
        break
"""

# 10、计算传入的string中,数字,字母,空格以及其它内容的个数,并返回结果
str1 = "123 asd !@#$%"
int_num = 0 # 整数的计数器
str_num = 0 # 字母计数器
other_num = 0 # 其他符号的计数器
space = 0 # 空格计数器
for i in str1:
    if i in "0123456789":
        int_num +=1 # 如果在里的话  int_num = int_num+1
    elif i in " ":
        space +=1 # 空格+1
    elif (i >="a" and i <= "z") or (i >="A" and i <= "Z"):
        str_num+=1
    else:
        other_num +=1 # 空格+1
print(f"整数有{int_num}个，字母有{str_num}个，空格有{space}个，其他内容有{other_num}个")
# 假如说这是一个列表，列表里面有空格、字符串、数字然后么计算机列表里的个数好使吗？
str1 = ["123 asd !@#$%","123","asd","!@#$$%%",456]
int_list = 0
str_list = 0
for i in str1:
    if type(i) == str:
        str_list+=1
    elif type(i) == int:
        int_list+=1
print(f"整数有{int_list}，字符串有{str_list}个")


# 11、一行代码实现1~100的和
print(sum([i for i in range(101)]))

# 12、删除列表中所有重复元素，使得每个元素只出现一次
list2 = [1,1,2,2,55,88,99,44]
# [1,2,55,88,99,44]
result = []
for i in list2:
    if i not in result:
        result.append(i)
print(result)
# 13、从0~9的十个数字中随机取出4个不重复的数字组成一个字符串，将四个字符串放入列表中
str1 = "0123456789"
# 思路：
# 我不知道需要切入多少次，才能拿到四个不重复的数字
# 使用方法，就是用random模块去随机返回一个字符，然后拼接成四个
"""
result_list2 = [] # 结果列表
while True:
    str2 = ""
    for i in range(4):
        random_str = random.choice(str1)  # 每次返回一个字母 5
        if random_str not in str2:  # 如果说这个字母，没有在空字符串里的话
            str2+=random_str # 有四位  这样我才给他加上去，但是这里会有问题，就是说长度不够四位的情况也有吧
    if len(result_list2) == 4: # 跳出循环的判断
        break
    if str2[0] == "0" or len(str2) != 4: # 如果说长度不等于4位的话
        continue # 这次数就不算，拉倒
    result_list2.append(str2) # 反之，加上去

print(result_list2)
"""
# 14、判断输入的数字是否大于1500
num = int(input("请输入数字"))
if num > 1500:
    print("大于1500")
elif num == 1500:
    print("等于1500")
elif num < 1500:
    print("小于1500")





